#define _CRT_SECURE_NO_WARNINGS

//#include <stdio.h>
//int main()
//{
//    int* p;//局部变量指针未初始化，默认为随机值
//    *p = 20;
//    return 0;
//}

//#include <stdio.h>
//int main()
//{
//    int arr[10] = { 0 };
//    int* p = arr;
//    int i = 0;
//    for (i = 0; i <= 11; i++)
//    {
//        //当指针指向的范围超出数组arr的范围时，p就是野指针
//        *(p++) = i;
//    }
//    return 0;
//}

//int* test()
//{
//	int a = 10;
//	return &a;
//}
//
//int main()
//{
//	int* p = test();
//	*p = 100;
//
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//    int* p = NULL;
//    //....
//    int a = 10;
//    p = &a;
//    if (p != NULL)
//    {
//        *p = 20;
//    }
//    return 0;
//}

//一个循环显示彩虹色的程序
//#include<stdio.h>
//#include<Windows.h>
//int main()
//{
//	int r = 255;
//	int g = 0;
//	int b = 0;
//	for (;;)
//	{
//
//
//		if (255 == r && g < 255 && 0 == b)
//		{
//			g++;
//		}
//		else if (255 == g && r > 0 && 0 == b)
//		{
//			r--;
//		}
//		else if (0 == r && b < 255 && 255 == g)
//		{
//			b++;
//		}
//		else if (0 == r && g > 0 && 255 == b)
//		{
//			g--;
//		}
//		else if (0 == g && r < 255 && 255 == b)
//		{
//			r++;
//		}
//		else if (255 == r && 0 == g && b > 0)
//		{
//			b--;
//		}
//		printf("\033[48;2;%d;%d;%dm\033[38;2;%d;%d;%dm********************************\n", r, g, b, r, g, b);
//		Sleep(1);
//	}
//
//
//
//	return 0;
//}


//闪烁:
//
//\033[5m：启用闪烁效果（部分终端可能不支持）。
//暗淡 :
//
//\033[2m：使文本变暗（在某些终端中可能不明显）。
//下划线 :
//
//\033[4m：启用下划线效果。
//高亮 :
//
//\033[7m：反转背景和前景色（高亮显示）。
//更复杂的控制
//设置颜色 :
//
//可以使用扩展的颜色格式。比如 \033[38; 5; { n }m 可以设置任意 256 色中的前景色，n 取值是 0 到 255。
//\033[48; 5; { n }m 可以设置任意 256 色中的背景色。
//文本行间距 :
//
//\033[<n>m 可能在某些终端中用于动态调整行间距，具体取决于终端的支持。
//清除与移动
//清空特定区域 :
//
//\033[1K：清除当前光标之前的内容。
//\033[0G：将光标移动到当前行的行首。
//光标隐藏和显示 :
//
//\033[? 25l：隐藏光标。
//\033[? 25h：显示光标。
//操作提示 :
//
//\033[? 1049h：开启备用屏幕（用于某些全屏应用）。
//\033[? 1049l：关闭备用屏幕并返回主屏幕。
//输入和输出模式
//入门模式 :
//
//\033[? 25l：禁用光标（隐形）。
//\033[? 25h：启用光标（可见）。
//行模式切换 :
//
//\033[? 1049h：使用备用屏幕（通常用于编辑器等）。
//\033[? 1049l：返回主屏幕。
//256色和真彩色
//使用 256 色模式或真彩色，使您能有更多的颜色选择。对许多终端有如下用法：
//
//256色 :
//
//	\033[38; 5; { n }m：前景色
//	\033[48; 5; { n }m：背景色
//	真彩色（24 - bit）:
//
//\033[38; 2; { r }; { g }; { b }m：设置前景色（r、g、b 范围为 0 - 255）
//\033[48; 2; { r }; { g }; { b }m：设置背景色。